Hello呀,這是一個培養寫程式習慣的練習。
先前有試著每天學習一次線上課程,但學到後面就忘記前面,
自省缺少學習記錄,也沒有養成每天寫程式的習慣。
所以這次換個方式:每日固定的課程加學習記錄整理及分享。
看看是否比較能培養出寫程式的習慣
目前鎖定的練習標的物是 100天從新手到大師
歡迎各位前輩指導!!在此先謝謝了!
1. 心得
1.range的應用在python裡面真的很實用。
range(起頭,結尾(不含),間隔)
2.基本題型的九九乘法表跟聖誕樹出現了。
自己寫過一次後,終於少了腦海裡一個疑惑點。
3.隨著瞌睡蟲的出現,會不自覺的看教學直接寫程式,
要再提醒自己多多試著寫寫看。
小語:要提醒自己還沒(yet)的力量。沒有什麼是不會的,只有還沒學會而已。
持之以恆就能學會。
2. 本日學習摘要
Day04 - 循環結構
循環結構的應用場景- 條件/ 縮進/ 代碼塊/ 流程圖
while循環- 基本結構/ break語句/
for循環- 基本結構/ range類型/ 循環中的分支結構
應用案例- 1~100求和/ 判斷質數/ 猜數字遊戲/ 九九乘法表/ 聖誕樹
3. 程式碼
#用for迴圈求1+2+3...+100
sum = 0
for count in range(101):
    sum += count #sum = sum + count  
print(sum)

#用for迴圈求1~100的偶數合
#method 1
sum = 0
for count in range(0,101,2):
    sum += count #sum = sum + count  
print(sum)
#method 2
sum = 0
for count in range(101):
    if count % 2 == 0:
        sum += count #sum = sum + count  
print(sum)

#猜數字遊戲
import random
answer = random.randint(1,100)
counter = 0
while True:
    counter +=1
    number = int (input("請輸入數字:"))
    if number < answer:
        print ("再大一點")
    elif number > answer:
        print ("再小一點")
    else:
        print ("恭喜你答對啦")
        break
print("你總共猜了%d 次" % counter)
if counter > 7 :
    print("你可以再想更好的猜法")

#輸出九九乘法表
for i in range(1,10):
    for j in range(1,10):
        print('%d * %d = %d' %(i,j,i*j), end='\t')
    print()

#練習:輸入一個正整數判斷是不是質數。
#提示:質數指的是只能被1和自身整除的大於1的整數。
from math import sqrt
num = int (input( "請輸入一個正整數:"))
end = int (sqrt(num))
is_prime = True
for x in range(2, end +1):
    if num % x == 0 :
        is_prime = False
        break
if is_prime and num != 1:
    print( "%d是質數" % num)
else:
    print( "%d不是質數" %num)

#練習:輸入兩個正整數,計算它們的最大公約數和最小公倍數。
a = int(input('a='))
b = int(input('b='))
#IF a> b 交換 a和b的值
if a > b:
    a , b = b , a 
#從兩個數較小的數開始遞減循環
for factor in range(a, 0, -1):
    if a % factor == 0 and b % factor == 0:
        print("%d和%d的最大公約數是%d" %(a,b,factor))
        print("%d和%d的最小公倍數是%d" %(a,b,a * b // factor))
        break

#練習:輸出指定的三角形圖案。
"""
*
**
***
****
*****
    *
   **
  ***
 ****
*****
    *
   ***
  *****
 *******
*********
"""
row  =  int ( input ( '請輸入行數: ' ))
for  i  in  range ( row ):
    for  _  in  range ( i  +  1 ):
        print ( '*' , end = '' )
    print ()
row  =  int ( input ( '請輸入行數: ' ))
for  i  in  range ( row ):
    for  j  in  range ( row ):
        if  j  <  row  -  i  -  1 :
            print ( ' ' , end = '' )
        else :
            print ( '*' , end = '' )
    print ( )
row  =  int ( input ( '請輸入行數: ' ))
for  i  in  range ( row ):
    for  _  in  range ( row  -  i  -  1 ):
        print ( ' ' , end = '' )
    for  _  in  range ( 2  *  i  +  1 ):
        print ( '*' , end = '' )
    print ()



參考資料:Day04